package org.hh.jga.util;

import java.util.Iterator;

/**
 * Adapt iterator to iterable 
 * 
 * @author Hong Hong
 *
 * @param Iterator type
 */
public class IteratorIterable<T> implements Iterable<T>, Iterator<T> {
	protected Iterator<T> m_itr;
	public IteratorIterable(Iterator<T> itr) {
		assert(itr != null);
		m_itr = itr;
	}
	
	public Iterator<T> iterator() {
		return m_itr;
	}

	public boolean hasNext() {
		return m_itr.hasNext();
	}

	public T next() {
		return m_itr.next();
	}

	public void remove() {
		m_itr.remove();
	}

}
